Scaleable machine translation

ABSTRACT

A method translates a textual input in a first language to a textual output in a second language. An input logical form is generated based on the textual input. When a plurality of transfer mappings in a transfer mapping database match the input logical form (or at least a portion thereof) one or more of those plurality of matching transfer mappings is selected based on a predetermined metric. Textual output is generated based on the selected transfer logical form.

CROSS-REFERENCE TO RELATED APPLICATION

The present application is a divisional of and claims priority of U.S.patent application Ser. No. 09/899,755, filed Jul. 5, 2001, the contentof which is hereby incorporated by reference in its entirety, and claimsthe benefit of U.S. provisional patent application Ser. No. 60/295,338,filed Jun. 1, 2001.

BACKGROUND

The present invention relates to automated language translation systems.More specifically, the present invention relates to a scaleable machinetranslation system and architecture.

Machine translation systems are systems which receive a textual input inone language, translate it to a second language, and provide a textualoutput in the second language. Current commercially available machinetranslation systems rely on hand-coded transfer components that are bothdifficult and expensive to customize for a particular domain, and arealso very difficult to scale to a desirable size. These disadvantageshave limited their cost effectiveness and overall utility.

A variety of example based machine translation systems have been createdto address these deficiencies. A number of such systems are described inH. Somers, Review Article: Example-Based Machine Translation, MachineTranslation 14:113, 157, 1999. Some of these typical example basedmachine translation research systems have been built with an examplebase built from up to approximately 200 sentences. They have encountereda great deal of difficulty in scaling to a larger example base and theperformance of the system suffers from this difficulty.

Other of the data driven systems described in Somers parse the inputsfrom the example base using different parsers, based upon the particularlanguage of the input text. The dependency structures resulting fromsuch parsing are thus different, based upon the language and theparticular parsing strategy used. Therefore, comparing the dependencystructures from one language to the next is difficult, if notimpossible.

Such prior systems have also not been easily scalable. For example, inorder to increase the number of sentences over and above, for example,200 sentences or so, has been very difficult. This is because the priorsystems have difficulty handling noisy input data. Instead, the inputdata has been required to be in a precise form, or it has been cleanedup, and placed in the proper form, by hand. Of course, this makes itvery difficult to dramatically increase the number of sentences becauseof the intensive labor required to clean up the data.

SUMMARY

A method translates a textual input in a first language to a textualoutput in a second language. An input logical form is generated based onthe textual input. When a plurality of transfer mappings in a transfermapping database match the input logical form (or at least a portionthereof) one or more of those plurality of matching transfer mappings isselected based on a predetermined metric. These transfer mappings arestitched together to form a transfer Logical Form. The textual output isgenerated based on the transfer logical form.

A transfer mapping is illustratively composed of a pair of logical formfragments, including a source and target logical form (LF), learned fromthe training data. At runtime the source side of these mappings ismatched against the input. Among such matched mappings, a set is chosen.The target sides of these mappings is then stitched together to producea single target LF. The output string is then generated from the targetLF.

The predetermined metric can take one of a variety of forms, includingthe number of input nodes covered by the set of mappings collectively,size of the different transfer mappings that match the input logicalform, the frequency with which the plurality of matching transfermappings were generated during a training phase used in training thetransfer mapping database, frequencies with which the plurality ofmatching transfer mappings are generated from completely aligned logicalforms during training, frequencies with which the plurality of matchingtransfer mappings were generated from non-fitted parses of the trainingdata, and a score associated with each of the plurality of matchingtransfer mappings that is indicative of a confidence in the transfermapping with which it is associated.

The present invention can also be embodied as a machine translationsystem including a matching component configured to implement the methoddiscussed above.

The present invention can also be implemented as a machine translationsystem that includes an input generator generating an input dependencystructure based on the textual input. The system also includes atransfer mapping database that holds a plurality of transfer mappingdependency structures formed based on at least 10,000 parallel, aligned,training sentences. The transfer mapping database can also be formedbased on 50,000, 100,000, 180,000, or even in excess of 200,000 trainingsentences.

In addition, the present invention can be embodied as a method oftraining a transfer mapping database which includes generating sharedinput logical forms for bilingual input sentences, the input logicalforms being shared across both languages.

In yet another embodiment, the present invention trains the transfermapping database by filtering transfer mappings obtained from alignedlogical forms, aligned during training.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an illustrative environment in which thepresent invention may be used.

FIG. 2 is a block diagram of a machine translation architecture inaccordance with one embodiment of the present invention.

FIG. 3A is an example of a logical form produced for a textual input ina source language (in this example, Spanish).

FIG. 3B is a linked logical form for the textual input in the sourcelanguage.

FIG. 3C is a target logical form representing a translation of thesource language input to a target language output (in this example,English).

FIG. 4 is a flow diagram illustrating a method for aligning nodes.

FIG. 5A is an example of tentative correspondences formed betweenlogical forms.

FIG. 5B is an example of aligned nodes formed between the logical formsof FIG. 5A.

FIG. 6 is a flow diagram illustrating application of a set of rules tothe method of FIG. 4.

FIG. 7 is a flow diagram illustrating application of an ordered set ofrules.

FIG. 8 is a set of transferred mappings associated with the example ofFIG. 5B.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS General Overview

The following is a brief description of a general purpose computer 120illustrated in FIG. 1. However, the computer 120 is only one example ofa suitable computing environment and is not intended to suggest anylimitation as to the scope of use or functionality of the invention.Neither should the computer 120 be interpreted as having any dependencyor requirement relating to any one or combination of modules illustratedtherein.

The invention may be described in the general context ofcomputer-executable instructions, such as program modules, beingexecuted by a computer. Generally, program modules include routines,programs, objects, modules, data structures, etc. that performparticular tasks or implement particular abstract data types. Theinvention may also be practiced in distributed computing environmentswhere tasks are performed by remote processing devices that are linkedthrough a communications network. In a distributed computingenvironment, program modules may be located in both local and remotecomputer storage media including memory storage devices. Tasks performedby the programs and modules are described below and with the aid offigures. Those skilled in the art can implement the description andfigures as processor executable instructions, which can be written onany form of a computer readable media.

With reference to FIG. 1, modules of computer 120 may include, but arenot limited to, a processing unit 140, a system memory 150, and a systembus 141 that couples various system modules or components including thesystem memory to the processing unit 140. The system bus 141 may be anyof several types of bus structures including a memory bus or memorycontroller, a peripheral bus, and a local bus using any of a variety ofbus architectures. By way of example, and not limitation, sucharchitectures include Industry Standard Architecture (ISA) bus,Universal Serial Bus (USB), Micro Channel Architecture (MCA) bus,Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA)local bus, and Peripheral Module Interconnect (PCI) bus also known asMezzanine bus. Computer 120 typically includes a variety of computerreadable mediums. Computer readable mediums can be any available mediathat can be accessed by computer 120 and includes both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer readable mediums may comprise computerstorage media and communication media. Computer storage media includesboth volatile and nonvolatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer readable instructions, data structures, programmodules/components or other data. Computer storage media includes, butis not limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disks (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or any other medium which can be used tostore the desired information and which can be accessed by computer 120.

Communication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, FR, infrared and other wireless media. Combinations of any ofthe above should also be included within the scope of computer readablemedia.

The system memory 150 includes computer storage media in the form ofvolatile and/or nonvolatile memory such as read only memory (ROM) 151and random access memory (RAM) 152. A basic input/output system 153(BIOS), containing the basic routines that help to transfer informationbetween elements within computer 120, such as during start-up, istypically stored in ROM 151. RAM 152 typically contains data and/orprogram modules that are immediately accessible to and/or presentlybeing operated on by processing unit 140. By way of example, and notlimitation, FIG. 1 illustrates operating system 154, applicationprograms 155, other program modules 156, and program data 157.

The computer 120 may also include other removable/non-removablevolatile/nonvolatile computer storage media. By way of example only,FIG. 1 illustrates a hard disk drive 161 that reads from or writes tonon-removable, nonvolatile magnetic media, a magnetic disk drive 171that reads from or writes to a removable, nonvolatile magnetic disk 172,and an optical disk drive 175 that reads from or writes to a removable,nonvolatile optical disk 176 such as a CD ROM or other optical media.Other removable/non-removable, volatile/nonvolatile computer storagemedia that can be used in the exemplary operating environment include,but are not limited to, magnetic tape cassettes, flash memory cards,digital versatile disks, digital video tape, solid state RAM, solidstate ROM, and the like. The hard disk drive 161 is typically connectedto the system bus 141 through a non-removable memory interface such asinterface 160, and magnetic disk drive 171 and optical disk drive 175are typically connected to the system bus 141 by a removable memoryinterface, such as interface 170.

The drives and their associated computer storage media discussed aboveand illustrated in FIG. 1, provide storage of computer readableinstructions, data structures, program modules and other data for thecomputer 120. In FIG. 1, for example, hard disk drive 161 is illustratedas storing operating system 164, application programs 165, other programmodules 166, and program data 167. Note that these modules can either bethe same as or different from operating system 154, application programs155, other program modules 156, and program data 157. Operating system164, application programs 165, other program modules 166, and programdata 167 are given different numbers here to illustrate that, at aminimum, they are different copies.

A user may enter commands and information into the computer 120 throughinput devices such as a keyboard 182, a microphone 183, and a pointingdevice 181, such as a mouse, trackball or touch pad. Other input devices(not shown) may include a joystick, game pad, satellite dish, scanner,or the like. These and other input devices are often connected to theprocessing unit 140 through a user input interface 180 that is coupledto the system bus, but may be connected by other interface and busstructures, such as a parallel port, game port or a universal serial bus(USB). A monitor 184 or other type of display device is also connectedto the system bus 141 via an interface, such as a video interface 185.In addition to the monitor, computers may also include other peripheraloutput devices such as speakers 187 and printer 186, which may beconnected through an output peripheral interface 188.

The computer 120 may operate in a networked environment using logicalconnections to one or more remote computers, such as a remote computer194. The remote computer 194 may be a personal computer, a hand-helddevice, a server, a router, a network PC, a peer device or other commonnetwork node, and typically includes many or all of the elementsdescribed above relative to the computer 120. The logical connectionsdepicted in FIG. 1 include a local area network (LAN) 191 and a widearea network (WAN) 193, but may also include other networks. Suchnetworking environments are commonplace in offices, enterprise-widecomputer networks, intranets and the Internet.

When used in a LAN networking environment, the computer 120 is connectedto the LAN 191 through a network interface or adapter 190. When used ina WAN networking environment, the computer 120 typically includes amodem 192 or other means for establishing communications over the WAN193, such as the Internet. The modem 192, which may be internal orexternal, may be connected to the system bus 141 via the user inputinterface 180, or other appropriate mechanism. In a networkedenvironment, program modules depicted relative to the computer 120, orportions thereof, may be stored in the remote memory storage device. Byway of example, and not limitation, FIG. 1 illustrates remoteapplication programs 195 as residing on remote computer 194. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused.

The invention is also operational with numerous other general purpose orspecial purpose computing systems, environments or configurations.Examples of well known computing systems, environments, and/orconfigurations that may be suitable for use with the invention include,but are not limited to, regular telephones (without any screen) personalcomputers, server computers, hand-held or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputers, mainframe computers,distributed computing environments that include any of the above systemsor devices, and the like.

Overview of Machine Translation System

Prior to discussing the present invention in greater detail, a briefdiscussion of a logical form may be helpful. A full and detaileddiscussion of logical forms and systems and methods for generating themcan be found in U.S. Pat. No. 5,966,686 to Heidorn et al., issued Oct.12, 1999 and entitled METHOD AND SYSTEM FOR COMPUTING SEMANTIC LOGICALFORMS FROM SYNTAX TREES. Briefly, however, logical forms are generatedby performing a morphological analysis on an input text to produceconventional phrase structure analyses augmented with grammaticalrelations. Syntactic analyses undergo further processing in order toderive logical forms, which are data structures that describe labeleddependencies among content words in the textual input. Logical forms cannormalize certain syntactical alternations, (e.g., active/passive) andresolve both intrasentential anaphora and long distance dependencies. Asillustrated herein, for example in FIG. 3A, a logical form 252 can berepresented as a graph, which helps intuitively in understanding theelements of logical forms. However, as appreciated by those skilled inthe art, when stored on a computer readable medium, the logical formsmay not readily be understood as representing a graph.

Specifically, a logical relation consists of two words joined by adirectional relation type, such as: LogicalSubject, LogicalObject,

IndirectObject;

LogicalNominative, LogicalComplement, LogicalAgent;

CoAgent, Beneficiary;

Modifier, Attribute, SentenceModifier;

PrepositionalRelationship;

Synonym, Equivalence, Apposition;

Hypernym, Classifier, SubClass;

Means, Purpose;

Operator, Modal, Aspect, DegreeModifier, Intensifier;

Focus, Topic;

Duration, Time;

Location, Property, Material, Manner, Measure, Color, Size;Characteristic, Part;

Coordinate;

User, Possessor;

Source, Goal, Cause, Result; and

Domain.

A logical form is a data structure of connected logical relationsrepresenting a single textual input, such as a sentence or part thereof.The logical form minimally consists of one logical relation and portraysstructural relationships (i.e., syntactic and semantic relationships),particularly argument and/or adjunct relation(s) between important wordsin an input string.

In one illustrative embodiment, the particular code that builds logicalforms from syntactic analyses is shared across the various source andtarget languages that the machine translation system operates on. Theshared architecture greatly simplifies the task of aligning logical formsegments from different languages since superficially distinctconstructions in two languages frequently collapse onto similar oridentical logical form representations. Examples of logical forms indifferent languages are described in greater detail below with respectto FIGS. 3A-3C.

FIG. 2 is a block diagram of an architecture of a machine translationsystem 200 in accordance with one embodiment of the present invention.System 200 includes parsing components 204 and 206, statistical wordassociation learning component 208, logical form alignment component210, lexical knowledge base building component 212, bilingual dictionary214, dictionary merging component 216, transfer mapping database 218 andupdated bilingual dictionary 220. During training and translation runtime, the system 200 utilizes analysis component 222, matching component224, transfer component 226 and/or generation component 228.

In one illustrative embodiment, a bilingual corpus is used to train thesystem. The bilingual corpus includes aligned translated sentences(e.g., sentences in a source or target language, such as English, in1-to-1 correspondence with their human-created translations in the otherof the source or target language, such as Spanish). During training,sentences are provided from the aligned bilingual corpus into system 200as source sentences 230 (the sentences to be translated), and as targetsentences 232 (the translation of the source sentences). Parsingcomponents 204 and 206 parse the sentences from the aligned bilingualcorpus to produce source logical forms 234 and target logical forms 236.

During parsing, the words in the sentences are converted to normalizedword forms (lemmas) and can be provided to statistical word associationlearning component 208. Both single word and multi-word associations areiteratively hypothesized and scored by learning component 208 until areliable set of each is obtained. Statistical word association learningcomponent 208 outputs learned single word translation pairs 238 as wellas multi-word pairs 240.

The multi-word pairs 240 are provided to a dictionary merge component216, which is used to add additional entries into bilingual dictionary214 to form updated bilingual dictionary 220. The new entries arerepresentative of the multi-word pairs 240.

The single and multi-word pairs 238, along with source logical forms 234and target logical forms 236 are provided to logical form alignmentcomponent 210. Briefly, component 210 first establishes tentativecorrespondences between nodes in the source and target logical forms 230and 236, respectively. This is done using translation pairs from abilingual lexicon (e.g. bilingual dictionary) 214, which can beaugmented with the single and multi-word translation pairs 238, 240 fromstatistical word association learning component 208. After establishingpossible correspondences, alignment component 210 aligns logical formnodes according to both lexical and structural considerations andcreates word and/or logical form transfer mappings 242. This aspect willbe explained in greater detail below.

Basically, alignment component 210 draws links between logical formsusing the bilingual dictionary information 214 and single and multi-wordpairs 238, 240. The transfer mappings are optionally filtered based on afrequency with which they are found in the source and target logicalforms 234 and 236 and are provided to a lexical knowledge base buildingcomponent 212.

While filtering is optional, in one example, if the transfer mapping isnot seen at least twice in the training data, it is not used to buildtransfer mapping database 218, although any other desired frequency canbe used as a filter as well. It should also be noted that otherfiltering techniques can be used as well, other than frequency ofappearance. For example, transfer mappings can be filtered based uponwhether they are formed from complete parses of the input sentences andbased upon whether the logical forms used to create the transfermappings are completely aligned.

Component 212 builds transfer mapping database 218, which containstransfer mappings that basically link words and/or logical forms in onelanguage, to words and/or logical forms in the second language. Withtransfer mapping database 218 thus created, system 200 is now configuredfor runtime translations.

During translation run time, a source sentence 250, to be translated, isprovided to analysis component 222. Analysis component 222 receivessource sentence 250 and creates a source logical form 252 based upon thesource sentence input. An example may be helpful. In the presentexample, source sentence 250 is a Spanish sentence “Haga click en elboton de opcion” which is translated into English as “Click the optionbutton” or, literally, “Make click in the button of option”.

FIG. 3A illustrates the source logical form 252 generated for sourcesentence 250 by analysis component 222. The source logical form 252 isprovided to matching component 224. Matching component 224 attempts tomatch the source logical form 252 to logical forms in the transfermapping database 218 in order to obtain a linked logical form 254.Multiple transfer mappings may match portions of source logical form252. Matching component 224 searches for the best set of matchingtransfer mappings in database 218 that have matching lemmas, parts ofspeech, and other feature information. The set of best matches is foundbased on a predetermined metric. For example, transfer mappings havinglarger (more specific) logical forms may illustratively be preferred totransfer mappings having smaller (more general) logical forms. Amongmappings having logical forms of equal size, matching component 224 mayillustratively prefer higher frequency mappings. Mappings may also matchoverlapping portions of the source logical form 252 provided that theydo not conflict with each other in any way. A set of mappingscollectively may be illustratively preferred if they cover more of theinput sentence than alternative sets. Other metrics used in matching theinput logical form to those found in database 218 are discussed ingreater detail below with respect to Table 1.

After a set of matching transfer mappings is found, matching component224 creates links on nodes in the source logical form 252 to copies ofthe corresponding target words or logical form segments received by thetransfer mappings, to generate linked logical form 254. FIG. 3Billustrates an example of linked logical form 254 for the presentexample. Links for multi-word mappings are represented by linking theroot nodes (e.g., Hacer and Click) of the corresponding segments, thenlinking an asterisk to the other source nodes participating in themulti-word mapping (e.g., Usted and Clic). Sublinks betweencorresponding individual source and target nodes of such a mapping (notshown in FIG. 3B) may also illustratively be created for use duringtransfer.

Transfer component 226 receives linked logical form 254 from matchingcomponent 224 and creates a target logical form 256 that will form thebasis of the target translation. This is done by performing a top downtraversal of the linked logical form 254 in which the target logicalform segments pointed to by links on the source logical form 252 nodesare combined. When combining together logical form segments for possiblycomplex multi-word mappings, the sublinks set by matching component 224between individual nodes are used to determine correct attachment pointsfor modifiers, etc. Default attachment points are used if needed.

In cases where no applicable transfer mappings are found, the nodes insource logical form 252 and their relations are simply copied into thetarget logical form 256. Default single word translations may still befound in transfer mapping database 218 for these nodes and inserted intarget logical form 256. However, if none are found, translations canillustratively be obtained from updated bilingual dictionary 220, whichwas used during alignment.

FIG. 3C illustrates a target logical form 256 for the present example.It can be seen that the logical form segments from “click” to “button”and from “button” to “option” were stitched together from linked logicalform 254 to obtain target logical form 256.

Generation component 228 is illustratively a rule-based,application-independent generation component that maps from targetlogical form 256 to the target string (or output target sentence) 258.Generation component 228 may illustratively have no informationregarding the source language of the input logical forms, and worksexclusively with information passed to it by transfer component 226.Generation component 228 also illustratively uses this information inconjunction with a monolingual (e.g., for the target language)dictionary to produce target sentence 258. One generic generationcomponent 228 is thus sufficient for each language.

It can thus be seen that the present system parses information fromvarious languages into a shared, common, logical form so that logicalforms can be matched among different languages. The system can alsoutilize simple filtering techniques in building the transfer mappingdatabase to handle noisy data input. Therefore, the present system canbe automatically trained using a very large number of sentence pairs. Inone illustrative embodiment, the number of sentence pairs is in excessof 10,000. In another illustrative embodiment, the number of sentencepairs is greater than 50,000 to 100,000, and may be in excess of180,000, 200,000, 350,000 or even in excess if 500,000 or 600,000sentence pairs. Also, the number of sentence pairs can vary fordifferent languages, and need not be limited to these numbers.

Logical Form Alignment

FIG. 4 illustrates a method 300 of associating logical forms of at leastsentence fragments from two different languages, wherein the logicalforms comprise nodes organized in a parent/child structure. Method 300includes associating nodes of the logical forms to form tentativecorrespondences as indicated at block 302 and aligning nodes of thelogical forms by eliminating at least one of the tentativecorrespondences and/or structural considerations as indicated at block304.

As indicated above with respect to FIG. 2, alignment component 210accesses bilingual dictionary 214 in order to form tentativecorrespondences, typically lexical correspondences, between the logicalforms. Bilingual dictionary 214 can be created by merging data frommultiple sources, and can also use inverted target-to-source dictionaryentries to improve coverage. As used herein, bilingual dictionary 214also represents any other type of resource that can providecorrespondences between words. Bilingual dictionary 214 can also beaugmented with translation correspondences acquired using statisticaltechniques.

In FIG. 2, the statistical techniques are performed by component 208.Although the output from component 208 can be used by alignmentcomponent 210, it is not necessary for operation of alignment component210. However, one embodiment of component 208 will be described here,briefly, for the sake of completeness.

Component 208 receives a parallel, bilingual training corpus that isparsed into its content words. Word association scores for each pair ofcontent words consisting of a word of language L1 that occurs in asentence aligned in the bilingual corpus to a sentence of language L2 inwhich the other word occurs. A pair of words is considered “linked” in apair of aligned sentences if one of the words is the most highlyassociated, of all the words in its sentence, with the other word. Theoccurrence of compounds is hypothesized in the training data byidentifying maximal, connected sets of linked words in each pair ofaligned sentences in the processed and scored training data. Wheneverone of these maximal, connected sets contains more than one word ineither or both of the languages, the subset of the words in thatlanguage is hypothesized as a compound. The original input text isrewritten, replacing the hypothesized compounds by single, fused tokens.The association scores are then recomputed for the compounds (which havebeen replaced by fused tokens) and any remaining individual words in theinput text. The association scores are again recomputed, except thatthis time, co-occurrences are taken into account in computing theassociation scores only where there is no equally strong or strongerother association in a particular pair of aligned sentences in thetraining corpus.

Translation pairs can be identified as those word pairs or token pairsthat have association scores above a threshold, after the finalcomputation of association scores.

Similarly, component 208 can also assist in identifying translations of“captoids”, by which we mean titles, or other special phrases, all ofwhose words are capitalized. (Finding translations of captoids presentsa special problem in languages like French or Spanish, in whichconvention dictates that only the first word of such an item iscapitalized, so that the extent of the captoid translation is difficultto determine.) In that embodiment, compounds are first identified in asource language (such as English). This can be done by finding stringsof text where the first word begins with a capital letter, and latertokens in the contiguous string do not begin with a lowercase letter.Next, compounds are hypothesized in the target text by finding wordsthat start with a capital letter and flagging this as the possible startof a corresponding compound. The target text is then scanned from leftto right flagging subsequent words that are most strongly related towords in the identified compound in the source text, while allowing upto a predetermined number (e.g., 2) contiguous non-most highly relatedwords, so long as they are followed by a most highly related word.

The left to right scan can be continued until more than thepredetermined number (e.g., more than 2) contiguous words are found thatare not most highly related to words in the identified compound in thesource text, or until no more most highly related words are present inthe target text, or until punctuation is reached.

While the above description has been provided for component 208, it isto be noted that component 208 is optional.

Referring again to method 300 in FIG. 4, generally, forming tentativecorrespondences in step 302 is aggressively pursued with the purpose ofattempting to maximize the number of tentative correspondences formedbetween the logical forms. Accuracy of the tentative correspondences isnot the most important criteria in step 302 because step 304 willfurther analyze the tentative correspondences and remove those that aredetermined to be incorrect.

Bilingual dictionary 214 represents direct translations used for formingtentative correspondences. However, in order to form additionaltentative correspondences, derivational morphology can also be used. Forexample, translations of morphological bases and derivations, and baseand derived forms of translations, can also be used to form tentativecorrespondences in step 302. Likewise, tentative correspondences canalso be formed between nodes of the logical forms wherein one of thenodes comprises more lexical elements or words than the other node. Forinstance, as is common, one of the nodes can comprise a single word inone of the languages, while the other node comprises at least two wordsin the other language. Closely related languages such as English,Spanish, etc. also have word similarity (cognates) that can be used withfuzzy logic to ascertain associations. These associations can then beused to form tentative correspondences.

At this point, it may be helpful to consider an example of logical formsto be aligned. Referring to FIG. 5A, logical form 320 was generated forthe sentence “En Información del hipervinculo, haga clic en la direccióndel hipervinculo”, while logical form 322 was generated for the Englishtranslation as “Under Hyperlink Information, click the Hyperlinkaddress.”

FIG. 5A further illustrates each of the tentative correspondences 323identified in step 302. As an example of the aggressive pursuit oftentative correspondences in step 302, in this example, each of theoccurrences of “Hipervinculo” includes two different tentativecorrespondences with “Hyperlink_Information” and “hyperlink” in theEnglish logical form 322.

Referring now to step 304, the logical forms are aligned, which caninclude eliminating one or more of the tentative correspondences formedin step 302, and/or which can be done as a function of structuralconsiderations of the logical forms. In one embodiment, step 304includes aligning nodes of the logical forms as a function of a set ofrules. In a further embodiment, each of the rules of the set of rules isapplied to the logical forms in a selected order. In particular, therules are ordered to create the most unambiguous alignments (“bestalignments”) first, and then, if necessary, to disambiguate subsequentnode alignments. It is important to note that the order that the rulesare applied in is not based upon the structure of the logical forms,i.e., top-down processing or bottom-up processing but rather, to beginwith the most linguistically meaningful alignments, wherever they appearin the logical form. As such, this set of rules can be considered to beapplied to the nodes of each of the logical forms non-linearly asopposed to linearly based upon the structure of the logical forms.Generally, the rules are intended to be language-neutral in order thatthey can be universally applied to any language.

FIG. 6 generally illustrates application of the set of rules to thelogical forms as method 328. At step 330, each of the nodes of thelogical forms is considered to be “unaligned” as opposed to “aligned”.The set of rules is applied to the unaligned nodes irrespective ofstructure at step 332 to form aligned nodes. Therefore, it is desirableto distinguish between unaligned nodes and aligned nodes. One techniqueincludes assigning all of the nodes initially to the set of unalignednodes, and removing nodes when they are aligned. The use of sets whetheractively formed in different locations of a computer readable medium orvirtually formed through the use of Boolean tags associated with thenodes merely provides a convenient way in which to identify unalignednodes and aligned nodes.

At step 332, the set of rules is applied to each of the unaligned nodes.FIG. 7 schematically illustrates aspects of step 332 that can beimplemented to apply the set of rules. In one embodiment as discussedabove, the rules are applied in a specified order. Herein “N” is acounter that is used to indicate which of the rules is applied. In thefirst iteration, step 334 applies the first rule to each of theunaligned nodes. If a rule fails to be applicable to any of theunaligned nodes, another rule from the set (and in one embodiment, thenext successive rule indicative of a linguistically meaningfulalignment) is then applied as indicated at steps 336 and 338.

If all the rules of the set of rules have been applied to all the nodesat step 340, the alignment procedure is finished. It should be notedthat under some situations, not all of the nodes will be aligned.

If a rule can be applied to a set of nodes of the logical forms, thenodes are identified as being aligned and removed from the set ofunaligned nodes, and application of the rules continues. However, in oneembodiment, it is advantageous to begin again with the rules once somerules have been applied to obtain a more linguistically meaningfulalignment. Therefore, it can be desirable to again apply rules that havepreviously been applied. In this manner, in one embodiment, each of therules of the set of rules is applied again starting with, for example,the first rule as indicated at step 342.

The following is an exemplary set of rules for aligning nodes of thelogical forms. The set of nodes presented herein is ordered based on thestrongest to weakest linguistically meaningful alignments of the nodes.As appreciated by those skilled in the art, reordering of at least someof the rules presented herein may not significantly alter the quality ofalignments of the logical forms.

1. If a bi-directionally unique translation exists between a node or setof nodes in one logical form and a node or set of nodes in the otherlogical form, the two nodes or sets of nodes are aligned to each other.A bi-directionally unique translation exists if a node or a set of nodesof one logical form has a tentative correspondence with a node or a setof nodes in the other logical form, such that every node in the firstset of nodes has a tentative correspondence with every node in thesecond set of nodes, and no other correspondences, and every node in thesecond set of nodes has a tentative correspondence with every node inthe first set of nodes, and no other correspondences.

2. A pair of parent nodes, one from each logical form, having atentative correspondence to each other, are aligned with each other ifeach child node of each respective parent node is already aligned to achild of the other parent node.

3. A pair of child nodes, one from each logical form, are aligned witheach other if a tentative correspondence exists between them and if aparent node of each respective child node is already aligned to acorresponding parent node of the other child.

4. A pair of nodes, one from each logical form, are aligned to eachother if respective parent nodes of the nodes under consideration arealigned with each other and respective child nodes are also aligned witheach other.

5. A node that is a verb and an associated child node that is not a verbfrom one logical form are aligned to a second node that is a verb of theother logical form if the associated child node is already aligned withthe second verb node, and either the second verb node has no alignedparent nodes, or the first verb node and the second verb node have childnodes aligned with each other.

6. A pair of nodes, one from each logical form, comprising the samepart-of-speech, are aligned to each other, if there are no unalignedsibling nodes, and respective parent nodes are aligned, and linguisticrelationships between the set of nodes under consideration and theirrespective parent nodes are the same.

7. A pair of nodes, one from each logical form, comprising the samepart-of-speech, are aligned to each other if respective child nodes arealigned with each other and the linguistic relationship between the setof nodes under consideration and their respective child nodes are thesame.

8. If an unaligned node of one of the logical forms having immediateneighbor nodes comprising respective parent nodes, if any, all aligned,and respective child nodes, if any, all aligned, and if exactly one ofthe immediate nodes is a non-compound word aligned to a node of theother logical form comprising a compound word, then align the unalignednode with the node comprising the compound word. Note that the immediateneighbor nodes herein comprise adjacent parent and child nodes howeverthe existence of parent and child nodes is not required, but if they arepresent, they must be aligned.

9. A pair of nodes, one from each logical form, comprising pronouns, arealigned to each other if respective parent nodes are aligned with eachother and neither of the nodes under consideration have unalignedsiblings.

10. A pair of nodes, one from each logical form, comprising nouns arealigned to each other if respective parent nodes comprising nouns arealigned with each other and neither of the nodes under considerationhave unaligned sibling nodes, and wherein a linguistic relationshipbetween each of the nodes under consideration and their respectiveparent nodes comprises either a modifier relationship or a prepositionalrelationship.

11. A first verb node of one logical form is aligned to a second verbnode of the other logical form if the first verb node has no tentativecorrespondences and has a single associated child verb node that isalready aligned with the second verb node.

12. A first verb node and a single, respective parent node of onelogical form is aligned to a second verb node of the other logical formif the first verb node has no tentative correspondences and has a singleparent verb node that is already aligned with the second verb node,where the single parent verb node has no unaligned verb child nodesbesides the first verb node, and the second verb node has no unalignedverb child nodes.

13. A first node comprising a pronoun of one logical form is aligned toa second node of the other logical form if a parent node of the firstnode is aligned with the second node and the second node has nounaligned child nodes.

14. A first verb node and a respective parent verb of one logical formis aligned to a second verb node of the other logical form if the firstverb node has no tentative correspondences and the parent verb node isaligned with the second verb node and where the relationship between thefirst verb and the parent verb node comprise a modal relationship.

Some general classifications of the rules provided above include thatone rule (rule 1) is primarily based upon the correspondencesestablished in step 302, and in the embodiment illustrated, it isconsidered to be the strongest meaningful alignment since no ambiguityis present. Other rules such as rules 2, 3, 11, 12 and 14 are based on acombination of, or a lack of, tentative correspondences and thestructure of the nodes under consideration and previously aligned nodes.The remaining rules rely solely on relationships between nodes underconsideration and previously aligned nodes. Other generalclassifications that can be drawn include that the rules pertain toverbs, nouns and pronouns.

Referring back to the logical forms and tentative correspondences ofFIG. 5A, the rules set out above can be applied according to the method300 of FIG. 4 in order to align the nodes as illustrated in FIG. 5B. Inthis example, the two instances of “Hipervinculo” have two ambiguoustentative correspondences, and while the correspondence from“Información” to “Hyperlink_Information” is unique, the reverse is not.It should also be noted that neither the monolingual nor the bilinguallexicons or dictionaries have been customized for this domain. Forexample, there is no entry in the lexicon for “Hyperlink_Information”.This unit has been assembled by general rules that link sequences ofcapitalized words. Tentative lexical correspondences established forthis element are based on translations found for its individualcomponents.

Applying the alignment rules as described above, the alignment mappingscreated by the rules are illustrated in FIG. 5B as dotted lines 344, andare obtained as follows.

Iterating through the rules again, rule 1 applies in three places,creating alignment mappings between “dirección” and “address”, “usted”and “you”, and “clic” and “click”. These are the initial “best”alignments that provide the anchors from which the method will workoutwards to align the rest of the structure.

Rule 2 does not apply to any nodes, but Rule 3 applies next to align theinstance of “hipervinculo”, that is the child of “dirección” to“hyperlink”, which is the child of “address”. The alignment method thusleveraged a previously created alignment (“direcci{acute over (0)}n” to“address”) and the structure of the logical form to resolve theambiguity present at the lexical level.

Rule 1 applies (where previously it did not) to create a many-to-onemapping between “Información” and “hipervinculo” to“Hyperlink_Information”. The uniqueness condition in this rule is nowmet because the ambiguous alternative was cleared away by the priorapplication of Rule 3.

Rule 4 does not apply, but rule 5 applies to rollup “hacer” with itsobject “clic”, since the latter is already aligned to a verb. Thisproduces the many-to-one alignment of “hacer” and “clic” to “click”

Referring back to FIG. 7, alignment of the logical forms is completedwhen the rules are no longer applicable to any of the nodes. At thispoint, transfer mappings can be obtained by component 212.

FIG. 8 illustrates some of the transfer mappings obtainable from theexample of aligned logical forms in FIG. 5B (other than transfer mapping353 which is included as an example of a conflicting transfer mappingdiscussed in the next section). Generally, a transfer mapping or simply“mapping” is indicative of associating a word or logical form of a firstlanguage with a corresponding word or logical form of a second language.The mappings can be stored on any computer readable medium as explicitpointers linking the words or logical forms of the first language withthe corresponding words or logical forms of the second language.Likewise, the mappings can be stored with the words or logical formsrather than in a separate database. As appreciated by those skilled inthe art, other techniques can be used to associate words or logicalforms of the first language with words or logical forms of the secondlanguage, and it is this association, that constitutes the mappingsregardless of the specific techniques used in order to record thisinformation.

Each mapping created during the alignment procedure can be a basestructure upon which further mappings with additional context are alsocreated. In particular, information can be stored on a computer readablemedium to translate text from a first language to a second language,where the information comprises a plurality of mappings. Each mapping isindicative of associating a word or logical form of the first languagewith a word or logical form of the second language. However, inaddition, at least some of the mappings corresponding to logical formsof the first language have varying context with some common elements.Likewise, at least some of the logical forms of the second languagecorresponding to the logical forms of the first language may also havevarying context with some common elements. In other words, at least someof the core mappings obtained from the alignment procedure are used tocreate other, competing mappings having varying types and amounts oflocal context.

Referring to FIG. 8, mappings 350, 352, and 354 illustrate how anelement of a logical form can vary. Mapping 350 comprises the base orcore mapping on which further mappings are created. Mapping 352 expandsthe core mapping 350 to include an additional linguistic element, hereinthe direct object of the word “click”, while the mapping 354 is expandedfrom the core mapping 350 such that the additional element comprises anunder-specified node (“*”) indicating a part of speech but no specificlemma. By comparing the mappings 350, 352 and 354, as well as mappings356 and 358, it can be seen that the logical forms of the first languagehave common elements (parts of speech and/or lemmas), while the logicalforms of the second language also have common elements.

By storing mappings indicative of logical forms with overlappingcontext, during translation run time, fluency and general applicabilityof the mappings for translating between the languages is maintained. Inparticular, by having mappings associating both words and smallerlogical forms of the languages, translation from the first language tothe second language is possible if the text to be translated was notseen in the training data. However, to the extent that the largercontext was present in the training data, this is also reflected in themappings such that when a mapping of larger context is applicable, amore fluent translation between the first language and the secondlanguage can be obtained.

Generally, linguistic constructs are used to provide boundaries forexpanding the core mappings to include additional context. For example,a mapping for an adjective can be expanded to include the noun itmodifies. Likewise, a mapping for a verb can be expanded to include theobject as context. In another example, mappings for noun collocationsare provided individually as well as a whole. As further illustrated inFIG. 8, some of the mappings can include under-specified nodes (“*”),wherein the part of speech is indicated but no specific lemma isprovided. These types of mappings increase the overall applicability ofthe mappings for translating from the first language to the secondlanguage, but also include context to enhance fluency of the translationobtained.

In general, mappings that can be created may have any number ofwild-card or underspecified nodes, which may be underspecified in anumber of different ways. For example, they may or may not specify apart-of-speech, and they may specify certain syntactic or semanticfeatures. For example, a pattern may have a wild-card node with thefeature “ProperName” or “Location” marked, indicating that the patternonly applies when that node is matched to an input node that has thesame feature. These wild-cards allow the system to hypothesizegeneralized mappings from specific data.

Matching the Transfer Mappings During Run Time

In addition to the information pertaining to the mappings between thewords or logical forms of the first language and the second language,additional information can also be stored or used during run timetranslation. The additional information can be used to choose anappropriate set of mappings and resolve conflicts as to which mappingsto use, i.e. (referring to FIG. 2) when a source logical form 252 (orpart thereof) generated for a source sentence 250 matches more than onesource side of the transfer mappings in the transfer mapping database218.

For example, when the source logical form matches the source side ofmultiple transfer mappings in database 218, a subset of these matchingtransfer mappings is illustratively selected such that all transfermappings in the subset are compatible with one another (i.e., they arenot conflicting) and based on a metric that is a function of how much ofthe input sentence the transfer mappings in the subset collectivelycover, as well as other measures related to individual transfermappings. Some such measures are set out in Table 1. TABLE 1 1. Size oftransfer mapping matched. 2. The frequency with which the transfermapping was seen in the training data. 3. The frequency with which thetransfer mapping was generated from fully aligned logical forms. 4. Thefrequency with which the transfer mapping was generated from partiallyaligned logical forms. 5. The frequency with which the transfer mappingwas generated from logical forms that resulted from a fitted parse. 6.An alignment score assigned to the transfer mapping by the alignmentcomponent.

Once the subset of matching transfer mappings is selected, the transfermappings in the subset are combined into a transfer logical form fromwhich the output text is generated.

It should be noted that the subset of matching transfer mappings cancontain overlapping transfer mappings, so long as they are compatible.For example, the following logical form can be generated for the Spanishsentence “Haga clic en el direccion de la oficina” which can betranslated as “Click the office address”:

-   -   Hacer -- Dobj - click        -   - en - direccion            -   - de - oficina                This logical form can potentially be matched to all of                the transfer mappings 350, 352 and 354 because each                transfer mapping contains this logical form. These                transfer mappings overlap, but do not conflict (because                all can be translated as the same thing). Therefore, all                may be included in the subset of matching transfer                mappings, and the transfer logical form can be generated                from them. However, if it is desired to choose among                them, the best choice may be transfer mapping 352                because it is the largest. Others could be chosen for a                variety of other reasons as well.

An example of conflicting, matching transfer mappings is shown astransfer mapping 353, which conflicts with transfer mapping 352.Therefore, for example, the logical form:

-   -   Hacer -- Dobj - click        -   - en - direccion            would match all of transfer mappings 350, 352, 353 and 354.            However, since transfer mappings 352 and 353 conflict            (because they are translated differently) both cannot be            part of the selected subset of matching transfer mappings.            Thus, one is selected based on a predetermined metric. For            example, subset 350, 352 and 354 can be compared against            subset 350, 353 and 354 to see which covers the most nodes            in the input logical form, collectively. Also, both transfer            mappings 352 and 353 are the same size (on the source side).            Therefore, other information can be used to distinguish            between them in selecting the subset of matching transfer            mappings.

As another example of conflicting transfer mappings, assume that anumber of sentences processed during training included the phrase “click<something>” that aligned to the Spanish “hacer clic en <something>”. Inother sentences, assume the sentence “click <something>” aligned to“elegir <something>” (literally “select something”).

This yields the following mappings (note these examples are Englishmapped to Spanish whereas previous examples have been Spanish mapped toEnglish): Click hacer  Tobj -- * →  Tobj -- clic  en -- *

for the first case, and click elegir  Tobj -- * →  Tobj -- *in the second case.

In the proper contexts, translating “click” to “select” may be alegitimate variation. However it does present a problem in some cases.For example, notice that the source side of both transfers is identical,so at runtime, if the input logical form matches that source side, weare left with having to choose between the two different target sides,i.e. it must be decided whether to translate the input as “hacer clic .. . ” or as “elegir . . . ”? In the absence of further context (whichwould likely have manifested itself by causing differing source sides ofthe transfers) we choose between them based on various frequency andscoring metrics.

Another type of conflict should also be mentioned. At runtime, for agiven input sentence, there may be multiple matching transfer mappingsthat match different parts of the input sentence. Several of them can bechosen as the selected subset so that they can be stitched together toproduce a transfer LF that covers the entire input. However, some ofthese matches that are stitched together will overlap one another, andsome will not. Of the ones that overlap, we can only use those that are“compatible” with one another. As discussed above, by “overlap” we meantwo mappings where at least one node of the input sentence is matched byboth mappings. By compatible, we mean the following: matches are alwayscompatible if they do not overlap, and matches that do overlap arecompatible if the target sides that correspond to the node(s) at whichthey overlap are identical.

For example, if an input sentence is “cambiar configuracion deseguridad” (translated as “change the security setting”) and it matchesa transfer mapping as follows: cambiar change  Tobj -- configuracion) → Tobj -- setting

and we match another mapping of: configuracion setting  mod - seguridad→  Mod securitythen the two matches do overlap (on “configuracion”), but they arecompatible, because they also both translate “configuracion” to“setting”. Therefore, we can combine them to produce a transfer LF (ortarget LF) of:change

-   -   Tobj setting        -   Mod security

However suppose there was also a third mapping of: configuracion value Mod - seguridad →  Mod settingthen this mapping which does overlap the previous two at“configuracion”, is not compatible, because it would translate“configuracion” to “value”, not “setting”. Therefore, this mappingcannot be merged with the previous two, so either this transfer mapping,or the previous two, must be chosen, but not both at the same time.

Table 1 shows examples of the information that can be used to furtherdefine the subset of matching transfer mappings (either to choose amongconflicting matching transfer mappings or to narrow the subset ofcompatible, matching transfer mappings). Such information can includehow much of the input sentence is covered by the subset of matchingtransfer mappings (collectively) and the size of the mappings, which canbe ascertained from the logical form that is matched in the transfermapping itself. The size of a logical form includes both the number ofspecified nodes as well as the number of linguistic relationshipsbetween the nodes. Thus, by way of example, the size of the logical formfrom the source side of mapping 350 equals 2, while the size of thelogical form on the target side equals 1. In another example, thelogical form on the source side of mapping 354 equals 4, while thetarget side of mapping 354 equals 2.

The information for choosing the subset of transfer mappings can alsoinclude other information related to individual transfer mappings, suchas the frequency with which the logical forms in the transfer mappingare seen in the training data. If desired, the training data can include“trusted” training data, which can be considered more reliable thanother training data. The frequency of the mapping as seen in the trustedtraining data can be retained in addition, or in the alternative, tostoring the frequency of the mapping as seen in all of the trainingdata.

Other information that can be helpful in selecting the subset ofmatching transfer mappings when matching source logical forms totransfer mappings includes the extent of complete alignment of thelogical forms in the training data from which the logical forms of atransfer mapping have been obtained. In other words, the alignmentprocedure can fully or completely align the nodes of the larger logicalforms, or some nodes can remain unaligned. In the example of FIG. 5B,all the nodes were aligned; however, as indicated above, this may notalways be the case. Those mappings associated with fully aligned logicalforms may be considered more reliable. Of course, information forresolving conflicts or further defining the subset can also indicate thefrequency with which the mapping was generated from both fully alignedlogical forms as well as partially aligned logical forms.

Likewise, additional information can include the frequency with whichthe logical forms in the transfer mapping originated from a completeparse of the corresponding training data. In particular, the frequencywith which the mapping originated from a complete or fitted parse, or incontrast, the frequency that the mapping originated from only a partialparse can be stored for later use in resolving conflicts while matchingduring translation.

Another form of information can include a score or value assigned to thetransfer mapping by the alignment procedure used to extract the mapping.For instance, the score can be a function of how “strong”(linguistically meaningful) the aligned nodes are (or how confident thealignment component is in the transfer mapping). The score can thereforebe a function of when (which iteration) and which rule formed thealignment. The particular function or metric used to calculate thealignment score is not crucial, and any such metric can be used togenerate information related to an alignment score that can be usedduring run time translation.

It should be noted that, although the present invention is describedabove primarily with respect to analyzing, aligning and using logicalforms, at least some of the inventive concepts discussed herein areapplicable to other dependency structures as well.

Although the present invention has been described with reference toparticular embodiments, workers skilled in the art will recognize thatchanges may be made in form and detail without departing from the spiritand scope of the invention.

1. A computer readable medium storing computer readable instructionswhich cause a computer to perform a method of translating a textualinput in a first language to a textual output in a second language, themethod comprising: generating an input logical form based on the textualinput; selecting a set of one or more of a plurality of matchingtransfer mappings in a transfer mapping database that match at least aportion of the input logical form, based on a predetermined metric;combining the set of transfer mappings into a target logical form; andgenerating the textual output based on the target logical form.
 2. Thecomputer readable medium of claim 1 wherein the input logical formincludes a plurality of input nodes and wherein selecting comprises:selecting the set of transfer mappings based on a number of input nodescovered by the set of transfer mappings, collectively.
 3. The computerreadable medium of claim 1 wherein selecting comprises: selecting theset of transfer mappings based on sizes of the plurality of matchingtransfer mappings.
 4. The computer readable medium of claim 3 whereinselecting comprises: selecting the set of transfer mappings as a largestof the plurality of matching transfer mappings.
 5. The computer readablemedium of claim 1 wherein selecting comprises: selecting the set oftransfer mappings based on frequencies with which the plurality ofmatching transfer mappings were generated during a training phase usedin training the transfer mapping database.
 6. The computer readablemedium of claim 1 wherein selecting comprises: selecting the set oftransfer mappings based on frequencies with which the plurality ofmatching transfer mappings were generated from completely alignedlogical forms during a training phase used in training the transfermapping database.
 7. The computer readable medium of claim 1 whereinselecting comprises: selecting the set of transfer mappings based onfrequencies with which the plurality of matching transfer mappings weregenerated from partially aligned logical forms during a training phaseused in training the transfer mapping database.
 8. The computer readablemedium of claim 1 wherein selecting comprises: selecting the set oftransfer mappings based on frequencies with which the plurality ofmatching transfer mappings were generated from non-fitted parses oftraining data used to generate logical forms during a training phaseused in training the transfer mapping database.
 9. The computer readablemedium of claim 1 wherein selecting comprises: selecting the set oftransfer mappings based on a score associated with each of the pluralityof matching transfer mappings, the score being indicative of aconfidence in the transfer mapping with which it is associated.
 10. Thecomputer readable medium of claim 1 wherein combining the set oftransfer mappings comprises: generating a linked logical form,indicative of links between the input logical form and logical forms inthe transfer mapping database, based on the set of transfer mappings.11. The computer readable medium of claim 10 wherein combining furthercomprises: generating a target logical form based on the linked logicalform.
 12. The computer readable medium of claim 11 wherein generatingthe target logical form comprises: accessing a bilingual dictionarybased on words in the linked logical form.
 13. The computer readablemedium of claim 11 wherein generating the textual output comprises:generating the textual output based on the target logical form.
 14. Thecomputer readable medium of claim 1 wherein selecting comprises:selecting as the set a plurality of overlapping, matching transfermappings.
 15. The computer readable medium of claim 14 wherein combiningcomprises: combining the plurality of overlapping, matching transfermappings to obtain the target logical form.
 16. (canceled) 17.(canceled)
 18. (canceled)
 19. (canceled)
 20. (canceled)
 21. (canceled)22. (canceled)
 23. A computer readable medium storing instructions thatcause a computer to perform a method of training a transfer mappingdatabase, comprising: receiving a plurality of parallel, aligned, pairsof input sentences in two different languages; generating input logicalforms for the input sentences in both languages, the input logical formsbeing shared across both languages; and training the transfer mappingdatabase based on the input logical forms.
 24. The computer readablemedium of claim 16 wherein training comprises: aligning the inputlogical forms to obtain transfer mappings; and training the transfermapping database based on the transfer mappings.
 25. The computerreadable medium of claim 17 wherein training the transfer mappingdatabase based on transfer mappings comprises: training the transfermapping database based only on transfer mappings obtained from thealigned logical forms at least a predetermined threshold number oftimes.
 26. (canceled)
 27. (canceled)
 28. (canceled)
 29. (canceled) 30.(canceled)
 31. (canceled)
 32. A computer readable medium storinginstructions that cause a computer to perform a method of training atransfer mapping database, comprising: receiving a plurality ofparallel, aligned, pairs of input sentences in two different languages;generating input logical forms for the input sentences in bothlanguages; aligning the input logical forms to obtain transfer mappings;filtering the transfer mappings obtained; and training the transfermapping database based only on the filtered transfer mappings.
 33. Thecomputer readable medium of claim 19 wherein filtering the transfermappings comprises: filtering transfer mappings obtained from thealigned logical forms less than at least a predetermined thresholdnumber of times.
 34. (canceled)